package com.bitoon.basketdudes.web.datos;

import com.bitoon.basketdudes.web.jpa.Plantilla;
import com.bitoon.basketdudes.web.jpa.Jugador;

import java.util.List;

public class EstadisticaEquipo {

    private int t1;
    private int t2;
    private int t3;

    private int agresividad;
    private int dribbling;
    private int pase;
    private int reboteOfensivo;
    private int reboteDefensivo;
    private int robo;
    private int tapon;
    private int defensa;
    private int resistencia;
    private int velocidad;
    private int sprint;
    private int teamwork;

    private float media = 0;

    public void calculaMedia(List<Plantilla> plantilla) {
        int t1 = 0, t2 = 0, t3 = 0;
        int vel = 0, pas = 0, df = 0, rob = 0;
        int rebo = 0, rebd = 0, tap = 0, ag = 0, res = 0;
        int tw = 0, sp = 0, dr = 0;
        int numJugadores = plantilla.size();

        if (numJugadores > 0) {

            for (int x=0; x<numJugadores; x++) {
                Jugador j = plantilla.get(x).getJugador();

                t2+=j.getBT2() + j.getT2();
                t3+=j.getBT3() + j.getT3();
                t1+=j.getBT1() + j.getT1();

                ag+=j.getBAgresividad() + j.getAgresividad();
                dr+=j.getBDriblin() + j.getDriblin();
                pas+=j.getBPase() + j.getPase();
                rebo+=j.getBReboteAtaque() + j.getReboteAtaque();
                rebd+=j.getBReboteDefensa() + j.getReboteDefensa();

                rob+=j.getBRobo() + j.getRobo();
                tap+=j.getBTapon() + j.getTapon();
                df+=j.getBDefensa() + j.getDefensa();
                res+=j.getBResistencia() + j.getResistencia();

                vel+=j.getBVelocidad() + j.getVelocidad();
                sp+=j.getBSprint() + j.getSprint();
                tw+=j.getBTeamwork() + j.getTeamwork();

            }

            setT2(t2/numJugadores);
            setT3(t3/numJugadores);
            setT1(t1/numJugadores);

            setAgresividad(ag/numJugadores);
            setDribbling(dr/numJugadores);
            setVelocidad(vel/numJugadores);
            setPase(pas/numJugadores);
            setDefensa(df/numJugadores);
            setRobo(rob/numJugadores);
            setReboteOfensivo(rebo/numJugadores);
            setReboteDefensivo(rebd/numJugadores);
            setTapon(tap/numJugadores);

            setResistencia(res/numJugadores);
            setTeamwork(tw/numJugadores);
            setSprint(sp/numJugadores);

            float mediaEquipo = (t2 + t3 + t1 + ag + dr + pas + rebo + rebd + rob + tap + df + res + vel + sp + tw) / (float)15;

            setMedia((float)mediaEquipo/numJugadores);

        }
    }




    public int getT1() {
        return t1;
    }

    public void setT1(int t1) {
        this.t1 = t1;
    }

    public int getT2() {
        return t2;
    }

    public void setT2(int t2) {
        this.t2 = t2;
    }

    public int getT3() {
        return t3;
    }

    public void setT3(int t3) {
        this.t3 = t3;
    }

    public int getVelocidad() {
        return velocidad;
    }

    public void setVelocidad(int velocidad) {
        this.velocidad = velocidad;
    }

    public int getPase() {
        return pase;
    }

    public void setPase(int pase) {
        this.pase = pase;
    }

    public int getDefensa() {
        return defensa;
    }

    public void setDefensa(int defensa) {
        this.defensa = defensa;
    }

    public int getRobo() {
        return robo;
    }

    public void setRobo(int robo) {
        this.robo = robo;
    }

    public int getReboteOfensivo() {
        return reboteOfensivo;
    }

    public void setReboteOfensivo(int reboteOfensivo) {
        this.reboteOfensivo = reboteOfensivo;
    }

    public int getReboteDefensivo() {
        return reboteDefensivo;
    }

    public void setReboteDefensivo(int reboteDefensivo) {
        this.reboteDefensivo = reboteDefensivo;
    }

    public int getTapon() {
        return tapon;
    }

    public void setTapon(int tapon) {
        this.tapon = tapon;
    }

    public int getAgresividad() {
        return agresividad;
    }

    public void setAgresividad(int agresividad) {
        this.agresividad = agresividad;
    }

    public int getResistencia() {
        return resistencia;
    }

    public void setResistencia(int resistencia) {
        this.resistencia = resistencia;
    }

    public int getTeamwork() {
        return teamwork;
    }

    public void setTeamwork(int teamwork) {
        this.teamwork = teamwork;
    }

    public int getSprint() {
        return sprint;
    }

    public void setSprint(int sprint) {
        this.sprint = sprint;
    }

    public int getDribbling() {
        return dribbling;
    }

    public void setDribbling(int dribbling) {
        this.dribbling = dribbling;
    }

    public float getMedia() {
        return media;
    }

    public void setMedia(float media) {
        this.media = media;
    }

}
